package com.base.logistics.jdl.bean.print;

import java.io.Serializable;

/**
 * <pre>
 * 打印数据响应对象
 * </pre>
 * @since 2021-03-06
 */
public class PrintJdlOrderResponse  implements Serializable {

    /**
     * 单据或指令类型 1、PRE_View  打印预览  2、GET_Printers 打印列表 3、PRINT  打印
     * <pre>
     * 是否必填： 是
     * </pre>
     */
    private String orderType;

    /**
     * 唯一任务ID
     * <pre>
     * 是否必填： 否
     * </pre>
     */
    private String key;

    /**
     * 参数
     * <pre>
     * 是否必填： 是
     * </pre>
     */
    private PrintJdlOrderParameters parameters;

    public PrintJdlOrderResponse() {
    }

    public String getOrderType() {
        return this.orderType;
    }

    public String getKey() {
        return this.key;
    }

    public PrintJdlOrderParameters getParameters() {
        return this.parameters;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public void setParameters(PrintJdlOrderParameters parameters) {
        this.parameters = parameters;
    }

    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof PrintJdlOrderResponse)) return false;
        final PrintJdlOrderResponse other = (PrintJdlOrderResponse) o;
        if (!other.canEqual((Object) this)) return false;
        final Object this$orderType = this.getOrderType();
        final Object other$orderType = other.getOrderType();
        if (this$orderType == null ? other$orderType != null : !this$orderType.equals(other$orderType)) return false;
        final Object this$key = this.getKey();
        final Object other$key = other.getKey();
        if (this$key == null ? other$key != null : !this$key.equals(other$key)) return false;
        final Object this$parameters = this.getParameters();
        final Object other$parameters = other.getParameters();
        if (this$parameters == null ? other$parameters != null : !this$parameters.equals(other$parameters))
            return false;
        return true;
    }

    protected boolean canEqual(final Object other) {
        return other instanceof PrintJdlOrderResponse;
    }

    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $orderType = this.getOrderType();
        result = result * PRIME + ($orderType == null ? 43 : $orderType.hashCode());
        final Object $key = this.getKey();
        result = result * PRIME + ($key == null ? 43 : $key.hashCode());
        final Object $parameters = this.getParameters();
        result = result * PRIME + ($parameters == null ? 43 : $parameters.hashCode());
        return result;
    }

    public String toString() {
        return "PrintJdlOrderResponse(orderType=" + this.getOrderType() + ", key=" + this.getKey() + ", parameters=" + this.getParameters() + ")";
    }
}
